/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package DAO;

import ClassesUnicas.Pessoa;
import java.util.ArrayList;

/**
 * DAOPessoa

 Versao 1.0

 Data Criação 30/02/2014
 *
 * @author Igor
 */
public interface DAOPessoa {
    /**
     * Grava os dados do objeto pessoa passado no parametro
     * @param pessoa 
     * @return Valor do codigo interno gerado automaticamente
     */
    public long gravaPessoa(Pessoa pessoa);
    
    /**
     * Busca todas pessoas cadastradas no Banco de Dados
     * @return 
     */
    public ArrayList<Pessoa> buscaPessoas();

    /**
     * Busca a pessoa com ID igual ao passado como parametro
     * @param idPessoa
     * @return 
     */
    public Pessoa buscaPessoa(long idPessoa);
    
    /**
     * Busca a pessoa com Nome igual ao passado como parametro
     * @param nome
     * @return 
     */
    public Pessoa buscaPessoa(String nome);
    
    /**
     * Seleciona a maior pontuacao do ultimo jogo do jogador
     * @param idPessoa
     * @return 
     */
    public long buscaPontuacaoMaxUltimoJogo(long idPessoa);
}
